package com.lxk.map.gd.model;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 静态地图请求参数
 */
@Data
public class GdStaticMapReq {
    /**
     * 高德key 必填
     */
    @NotBlank
    private String key;
    /**
     * 地图中心点 部分条件必填
     * 中心点坐标。
     * 规则：经度和纬度用","分隔 经纬度小数点后不得超过6位。
     */
    private String location;
    /**
     * 地图级别 必填
     * 地图缩放级别:[1,17]
     */
    @NotNull
    @Min(1)
    @Max(17)
    private Integer zoom;
    /**
     * 地图大小 可选
     * 默认400*400,最大值为1024*1024
     */
    private String size;
    /**
     * 普通/高清 可选
     * 1:返回普通图；默认为1。
     * 2:调用高清图，图片高度和宽度都增加一倍，zoom 也增加一倍（当zoom 为最大值时，zoom 不再改变）。
     */
    private Integer scale;
    /**
     * 标注 可选
     * 使用规则见 markers 详细说明，标注最大数10个
     * 参考格式：markers=markersStyle1:location1;location2..|markersStyle2:location3;location4..|markersStyleN:locationN;locationM.
     */
    private String markers;
    /**
     * 标签 可选
     * 使用规则见 labels 详细说明，标签最大数10个
     */
    private String labels;
    /**
     * 折线 可选
     * 使用规则见 paths 详细说明，折线和多边形最大数4个
     */
    private String paths;
    /**
     * 交通路况标识 可选
     * 底图是否展现实时路况。 可选值： 0，不展现；1，展现。
     */
    private Integer traffic = 1;
    /**
     * 数字签名 可选
     * 数字签名认证用户必填
     */
    private String sig;

}
